<?php
/**
 * 用户信用(UserCredit)
 */
class UserCredit {
  /**
   * @var integer $level 信用等级，是否隐私:N，（是根据score生成的，详见：信用等级）
   */
  var $level;
  /**
   * @var integer $score 信用总分，是否隐私:N，
   * （“好评”加一分，“中评”不加分，“差评”扣一分。分越高，等级越高）
   */
  var $score;
  /**
   * @var integer $total_num 收到的评价总条数。取值范围:大于零的整数，是否隐私:N
   */
  var $total_num;
  /**
   * @var integer $good_num 收到的好评总条数。取值范围:大于零的整数 ，是否隐私:N
   */
  var $good_num;      
}

/**
 * 用户地址(Location)
 */
class Location{
  /**
   * @var string $zip 邮政编码 ，是否隐私:Y
   */
  var $zip; 
  /**
   * @var string $address 详细地址   ，是否隐私:Y
   */
  var $address; 
  /**
   * @var string $city 所在城市（中文名称） ，是否隐私:N
   */
  var $city;     
  /**
   * @var string $state 所在省份（中文名称） ，是否隐私:N
   */
  var $state;    
  /**
   * @var string $country 国家名称 ，是否隐私:N
   */
  var $country;    
  /**
   * @var string $district 区/县（只适用于物流API） ，是否隐私:N
   */
  var $district;          	
}
/**
 *用户(User)
 */
class User{
  /**
  * @var integer $user_id 用户id，是否隐私:N
  */
  var $user_id;   
  /**
  * @var string $nick 用户昵称，是否隐私:N
  */
  var $nick;      
  /**
  * @var string $sex 性别。可选值:m(男),f(女)，是否隐私:N
  */
  var $sex; 
  /**
   * @return string|NULL 返回@see $sex 对应得中文，如果$sex值不合法，返回NULL
   */
  function getSexTitle(){
  	switch($this->sex){
  		case 'm': return '男';
  		case 'f':return '女';
  		default: return NULL;
  	}
  }
  /**
  * @var UserCredit $buyer_credit 买家信用，是否隐私:N
  */
  var $buyer_credit;  
  /**
  * @var UserCredit $seller_credit 卖家信用，是否隐私:N
  */
  var $seller_credit;    
  /**
  * @var Location $location 用户当前居住地公开信息。如：location.city获取其中的city数据，是否隐私:N
  */
  var $location;    
  /**
  * @var string $created 用户注册时间。格式:yyyy-MM-dd HH:mm:ss，是否隐私:N
  */
  var $created;   
  /**
  * @var string $last_visit 最近登陆时间。格式:yyyy-MM-dd HH:mm:ss，是否隐私:N
  */
  var $last_visit; 
  /**
  * @var string $birthday 生日，是否隐私:Y
  */
  var $birthday;  
  /**
  * @var string $type 用户类型。可选值:B(B商家),C(C商家)，是否隐私:Y
  */
  var $type;
  /**
   * @return string|NULL 返回@see $type 对应得中文，如果$type值不合法，返回NULL
   */     
  function getTypeTitle(){
  	switch ($this->type){
  		case 'B':return '商城用户';
  		case 'C':return '普通卖家';
  		default: return NULL;
  	}
  }
  /**
  * @var boolean $has_more_pic 是否购买多图服务。可选值:true(是),false(否)，是否隐私:Y
  */
  var $has_more_pic;    
  /**
  * @var integer $item_img_num 可上传商品图片数量，是否隐私:Y
  */
  var $item_img_num;
  /**
  * @var integer $item_img_size 单张商品图片最大容量。单位:k，是否隐私:Y
  */
  var $item_img_size; 
  /**
  * @var integer $prop_img_num 可上传属性图片数量，是否隐私:Y
  */
  var $prop_img_num;     
  /**
  * @var string $auto_repost 是否可以限制次数的自动上架，是否隐私:Y<br/>
  * （注：B卖家可以不限次数的到期自动上架；但是普通C卖家只能自动重发一次）。
  * 可选值:limited(受限制),unlimited(不受限)
  */
  var $auto_repost;    
  /**
  * @var string $promoted_type 有无实名认证，是否隐私:Y<br/>
  * 可选值:authentication(实名认证),not authentication(没有认证)
  */
  var $promoted_type;   
  /**
  * @var string $status 状态，是否隐私:Y<br/>
  * 可选值:normal(正常),inactive(未激活),delete(删除),reeze(冻结),supervise(监管)
  */
  var $status;       
  /**
  * @var string $alipay_bind 有无绑定，是否隐私:Y，可选值:bind(绑定),notbind(未绑定)
  */
  var $alipay_bind;     
  /**
  * @var boolean $consumer_protection 是否参加消保，是否隐私:Y
  */
  var $consumer_protection;     
  /**
  * @var string $alipay_account 支付宝账户 ，是否隐私:Y
  */
  var $alipay_account;   
  /**
  * @var string $alipay_no 支付宝ID，是否隐私:Y
  */
  var $alipay_no;   
  /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array(
               'buyer_credit'=>'UserCredit',
		       'seller_credit'=>'UserCredit','location'=>'Location'));	
}


/**
 *private class,internal use
 */
class _UserList{
	/**
	 * @var array $users 用户列表，类型@see User
	 */	
	var $users=array();
  /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array(
                'users'=>'User','buyer_credit'=>'UserCredit',
                'seller_credit'=>'UserCredit','location'=>'Location'));	
}
